package com.unit10.service;

import java.sql.SQLException;
import java.util.ArrayList;

import com.unit10.DAO.EmpDAO;
import com.unit10.pojo.Emp;
import com.unit10.utils.Condition;

public class EmpService {
    EmpDAO ed=new EmpDAO();
    //查询员工
    public ArrayList findEmps(Condition cd) throws SQLException {
        ArrayList<Emp> empsList=new ArrayList<Emp>();

        String sql="select * from emps where 1=1";//默认查询所有,where 1==1方便后续添加条件
        System.out.println("查询条件:"+cd.id+"---"+cd.name+"---"+cd.deptName);

        //三个条件相互独立,不能用else连接
        if(cd.id!=null&& cd.id!="") {
            sql=sql+" and id="+cd.id;
        }
        if(cd.name!=null&& cd.name!="") {
            sql=sql+" and name='"+cd.name+"'";//注意空格和字符串中的单引号
        }
        if(cd.deptName!=null&& cd.deptName!="") {
            sql=sql+" and deptName='"+cd.deptName+"'";
        }
        System.out.println("条件查询语句sql: "+sql);//打印一次sql语句,方便查找问题
        empsList=ed.findEmpBySql(sql);

        return empsList;
    }

    //增加员工
    public void addEmp(Emp emp) throws SQLException {
        String sql="insert into emps (name,age,job,hireDate,salary,deptName) values ('"+emp.getName()+"',"+emp.getAge()+",'"+emp.getJob()+"','"+emp.getHireDate()+"',"+emp.getSalary()+",'"+emp.getDeptName()+"')";
        System.out.println(sql);
        ed.updateEmpBySql(sql);
    }

    //删除员工
    public void delEmp(int id) throws SQLException {
        String sql="delete from emps where id= "+id;
        System.out.println("删除员工sql:"+sql);
        ed.updateEmpBySql(sql);
    }

    //修改员工
    public ArrayList updateEmp(Condition cd) throws SQLException {
        ArrayList<Emp> empsList=new ArrayList<Emp>();

        String sql="update emps set ";//默认查询所有,where 1==1方便后续添加条件
        System.out.println("查询条件:"+cd.id+"---"+cd.name+"---"+cd.deptName);

        //三个条件相互独立,不能用else连接
        if(cd.id!=null&& cd.id!="") {
            sql=sql+" id="+cd.id;
        }
        if(cd.name!=null&& cd.name!="") {
            sql=sql+" name='"+cd.name+"'";//注意空格和字符串中的单引号
        }
        if(cd.deptName!=null&& cd.deptName!="") {
            sql=sql+" deptName='"+cd.deptName+"'";
        }
        sql+=" where id="+cd.id;
        System.out.println("条件查询语句sql: "+sql);//打印一次sql语句,方便查找问题
        empsList=ed.findEmpBySql(sql);

        return empsList;
    }







}
